//采用命名空间方式
//调用方式：$.dataGridEasyUI.initTable()
jQuery.dataGridEasyUI = {
	//加载顶部菜单
	initTable : function(param){
		var placeHeight = $(".place").height();
		var windowHeight = $(window).height()-placeHeight;
		var queryParams = new Object();
		if(param.queryParams){
			queryParams = param.queryParams;
		}
		
       var formId = "searchForm";
 	   $("#"+formId).find("input").each(function(i){
 		   queryParams[$(this).attr("name")] = $(this).val();
 	   });
 	   
 	   $("#"+formId).find("select").each(function(i){
 		   queryParams[$(this).attr("name")] = $(this).val();
 	   });
		
		//向后台加载数据
		tableObject.datagrid({
			height:windowHeight,
		    url:param.url,
		    //远程请求数据的方式
		    method:"post",
		    fit:false,
		    //真正的自动展开/收缩列的大小，以适应网格的宽度，防止水平滚动。
		    fitColumns:false,
		    //调整列的位置
		    resizeHandle:"right",
		    //定义设置行的高度,根据该行的内容。设置为false可以提高负载性能
		    autoRowHeight:"false",
		    //工具栏
		    toolbar:param.toolbarId,
		    remoteSort:param.remoteSort,
		    //boolean 是否显示斑马线效果。 
		    striped:true,
		    nowrap:true,
		    idField:"id",
		    rownumbers:true,//是否显示行号
		    pagination:true,
		    loadMsg:"数据加载中，请稍后...",
		    pageSize:15,//页长
		    pageList:[15,20,30,40,50],
		    sortOrder:"diccode",
		    singleSelect:false,
		    checkOnSelect:true,
		    //定义查找数据字段
		    queryParams: queryParams,
		    columns:param.columns,
		    frozenColumns:param.frozenColumns
		 }); 
	},
	initEditWindow:function(param){
		console.log("initEditWindow is coming!");
		//验证是否登录--开始
    	if(!checkLoginStatus()){return;}
        //验证是否登录--结束
        
    	var editDataFormArea = $("#editDataFormArea");
  		if(editDataFormArea.length==0){
  			$("<div id='editDataFormArea'></div>").prependTo("body");
  		}
  		
  		var _width = 650;
  		var _height = 430;
  		if(param.width&&param.height){
			_width = param.width;
			_height = param.height;
		}
  		var x_left = ($(window).width()-_width)/2;
  		var y_top = ($(window).height()-_height)/2;
  		
  		var hrefUrl = param.url;
  		if(param.actionType=="update"||param.actionType=="detail"||param.actionType=="check"){
  			var curRow = tableObject.datagrid("getSelected");
  			var alertMsg = "";
  			switch(param.actionType){
               case "update":
            	  alertMsg = "请先选择要编辑的行";
				  break;
               case "check":
            	   alertMsg = "请先选择要审核的行";
            	   break;
			   default:
				   alertMsg = "请先选择要处理的行";
				  break;
  			}
  			
  	    	if(curRow==null){
  	    		$.messager.alert('系统提示',alertMsg,'error');
  	    		return;
  	    	}
  	    	var id = curRow.id;
  	    	console.log("============id=:"+id);
  	    	if(!param.url.indexOf("id=")>-1){
  	    		hrefUrl = param.url+"?id="+id;
  	  	  		if(param.url.indexOf("?")>-1){
  	  	  			hrefUrl=param.url+"&id="+id;
  	  	  		}
  	    	}
  		}
  		console.log("============hrefUrl=:"+hrefUrl);
  		if(param.windowType=="iframe"){
  			var content = "<iframe width='"+_width+"' height='"+_height+"' src=\""+hrefUrl+"\"></iframe";
  			$("#editDataFormArea").window({
  	    	    title: param.title,
  	    	    width: _width,
  	    	    height: _height,
  	    	    iconCls:'icon-window',
  	    	    left:x_left,
  	    	    top:y_top,
  	    	    closed: false,
  	    	    cache: false,
  	    	    modal: true,
  	    	    onClose:function(){
  				    $("#editDataFormArea").html("");
  				    $("#editDataFormArea").remove();
  			    },
  			    content:content
  	    	});
  		}else{
  			$("#editDataFormArea").window({
  	    	    title: param.title,
  	    	    width: _width,
  	    	    height: _height,
  	    	    iconCls:'icon-window',
  	    	    left:x_left,
  	    	    top:y_top,
  	    	    closed: false,
  	    	    cache: false,
  	    	    modal: true,
  	    	    onClose:function(){
  				    $("#editDataFormArea").html("");
  				    $("#editDataFormArea").remove();
  			    },
  			    href:hrefUrl
  	    	});
  		}
  		
    	
	},
	//批量删除
	batchDeleteData:function(param){
		//验证是否登录--开始
    	if(!checkLoginStatus()){return;}
        //验证是否登录--结束
    	
    	var curUserName = $("#curUserName").val();
    	var ids = [];
		var rows = tableObject.datagrid('getSelections');
		if(rows.length<1){
			$.messager.alert('系统提示','请选中数据后再进行操作！','error');
			return;
		}
		
		//获取datagrid选中行
		for (var i = 0; i < rows.length; i++) {
			ids.push(rows[i].id);
		}
		ids = ids.join(',');
		$.messager.confirm('确认对话框', '此操作将永久删除被选中的数据,请确认是否继续操作？', function(flag){
		if (flag){
			$.post(param.url,{ids:ids},
		    	function(jsonData){
					if(jsonData.code=="00"){
						$.messager.alert('系统提示',jsonData.msg,'success');
						//删除成功后重新加载表格
						tableObject.datagrid('reload'); 
					}else{
						$.messager.alert('系统提示',jsonData.msg,'error');
					}
		    	},"json");
			}
		});
	},
	//批量删除
	batchDeleteInDB:function(param){
		//验证是否登录--开始
		if(!checkLoginStatus()){return;}
	    //验证是否登录--结束
	 	if(param.url.indexOf("clearData")==-1){
	 		var ids = [];
			var rows = tableObject.datagrid('getSelections');
			if(rows.length<1){
				$.messager.alert('系统提示','请选中数据后再进行操作！','error');
				return;
			}
			
			//获取datagrid选中行
			for (var i = 0; i < rows.length; i++) {
				ids.push(rows[i].id);
			}
			ids = ids.join(',');
	 	}
		
		$.messager.confirm('确认对话框', '此操作删除数据不可恢复,请确认是否继续操作？', function(flag){
			if (flag){
				$.messager.progress({
  	            	msg:"拼命运行中,请稍后..."
  	            }); 
				$.post(param.url,{ids:ids},
		    	function(jsonData){
                    $.messager.progress('close');
					if(jsonData.code=="00"){
						$.messager.alert('系统提示','删除成功！','success');
						//删除成功后重新加载表格
						tableObject.datagrid('reload'); 
					}else{
						$.messager.alert('系统提示','删除失败！','error');
					}
		    	},"json");
			}
		});		
	},
	singleDeleteData:function(param){
		    //验证是否登录--开始
	    	if(!checkLoginStatus()){return;}
	        //验证是否登录--结束
	    	var curRow = tableObject.datagrid("getSelected");
	    	if(curRow==null){
	    		$.messager.alert('系统提示',"请先选择要编辑的行",'error');
	    		return;
	    	}
	    	$.messager.confirm('确认对话框', '此操作将永久删除该条数据,请确认是否继续操作？', function(flag){
  			if (flag){
  				$.post(param.url,{id:curRow.id},
  		    	function(jsonData){
  					if(jsonData.code=="00"){
  						$.messager.alert('系统提示','删除成功！','success');
  						tableObject.datagrid('reload');
  					}else{
  						$.messager.alert('系统提示',jsonData.msg,'error');
  					}
  		    	},"json");
  			}
  		});
	},
	rebackData:function(param){
		//验证是否登录--开始
		if(!checkLoginStatus()){return;}
	    //验证是否登录--结束
	 	
		var ids = [];
		var rows = tableObject.datagrid('getSelections');
		if(rows.length<1){
			$.messager.alert('系统提示','请选中数据后再进行操作！','error');
			return;
		}
		
	    //获取datagrid选中行
		for (var i = 0; i < rows.length; i++) {
			ids.push(rows[i].id);
		}
		ids = ids.join(',');
		$.messager.confirm('确认对话框', '此操作将恢复选中的删除数据,请确认是否继续操作？', function(flag){
			if (flag){
				$.post(param.url,{ids:ids},
		    	function(jsonData){
					if(jsonData.code=="00"){
						$.messager.alert('系统提示',jsonData.msg,'success');
						//删除成功后重新加载表格
						tableObject.datagrid('reload'); 
					}else{
						$.messager.alert('系统提示',jsonData.msg,'error');
					}
		    	},"json");
			}
		});	
    }
};  